﻿
// lineDlg.h : 头文件
//

#pragma once
#include "stdafx.h"
#include"Resource.h"
#include "afxsock.h"
#include "afx.h"
#include "ServerSocket.h"
#include "afxcoll.h"
#include "afxwin.h"
#include"ServerDB.h"
#include"block_queue.h"
#include"authority.h"
#define UPDATEUSERLIST _T("MUPDATEUSERLIST")


// ClineDlg 对话框
class CServerSocket;
class ClineDlg : public CDialogEx
{
// 构造
public:
	ClineDlg(CWnd* pParent = NULL);	// 标准构造函数
	~ClineDlg();
// 对话框数据
	enum { IDD = IDD_LINE_DIALOG };

	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV 支持


// 实现
protected:
	HICON m_hIcon;

	// 生成的消息映射函数
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	DECLARE_MESSAGE_MAP()
public:
	//“开始/关闭服务”按钮的响应函数
	afx_msg void startServer();
	//“发送”按钮的响应函数
	afx_msg void SendMSG();
	//接收客户端发来的消息
	void RecvData(CServerSocket* pSocket);
	//移除客户端
	void RemoveClient(CServerSocket* pSocket);
	//更新聊天窗口的信息
	string UpdateEvent(CString,CString str);
	//添加新的连接用户
	void AddClient();
	//客户端登陆
	int DoLogin(string,CServerSocket* );
	//客户端列表
	CPtrList m_clientList;
	//客户端的数量
	int m_userCount;
	//聊天窗口
	CEdit m_event;
	//服务器的socket
	CServerSocket* m_listenSocket;
	//当前是否开启了服务
	bool m_connect;
	//服务器的端口号
	int m_port;
	char* m_strNoUser;
	//listBox变量
	CListBox m_users;
	//端口号的控件
	CEdit m_editPort;
	//“发送”按钮的控件变量
	CButton m_buttonSend;

	ServerDB serverDb;
	Authority authority;
	afx_msg void OnBnClickedButton2();
	afx_msg void OnBnClickedButton3();
};
